home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1997 February
/
EnigmA AMIGA RUN 15 (1997)(G.R. Edizioni)(IT)[!][issue 1997-02][PLANET CD V].iso
/
enigma
/
earcd
/
emula
/
arosdv19.lha
/
AROS
/
config
/
dummy
/
dispatch.c
< prev
next >
Wrap
C/C++ Source or Header
|
1996-10-24
|
1KB
|
47 lines
/*
(C) 1995-96 AROS - The Amiga Replacement OS
$Id: dispatch.c,v 1.3 1996/10/19 17:07:22 aros Exp $
$Log: dispatch.c,v $
Revision 1.3 1996/10/19 17:07:22 aros
Include <aros/machine.h> instead of machine.h
Revision 1.2 1996/08/01 17:41:00 digulla
Added standard header for all files
Desc:
Lang:
*/
#include <exec/execbase.h>
#include <clib/exec_protos.h>
#include <aros/machine.h>
APTR sp;
void dispatch(struct ExecBase *SysBase)
{
struct Task *me;
struct List *list;
me=SysBase->ThisTask;
me->tc_SPReg=sp;
if(me->tc_Flags&TF_SWITCH)
me->tc_Switch();
me->tc_IDNestCnt=SysBase->IDNestCnt;
SysBase->IDNestCnt=-1;
list=&SysBase->TaskReady;
me=(struct Task *)list->lh_Head;
list->lh_Head=me->tc_Node.ln_Succ;
me->tc_Node.ln_Succ->ln_Pred=(struct Node *)list;
SysBase->ThisTask=me;
me->tc_State=TS_RUN;
SysBase->IDNestCnt=me->tc_IDNestCnt;
if(me->tc_Flags&TF_LAUNCH)
me->tc_Launch();
sp=me->tc_SPReg;
if(me->tc_Flags&TF_EXCEPT)
{
Disable();
Exception();
Enable();
}
}